iT邦幫忙

0

Golang 每日一小時(Day1)

go
  • 分享至 

  • xImage
  •  

前言

一點小咕噥,不重要不用看

一個處於人生轉捩點的底層碼農嘗試奮發向上,不為誰,只為自己與自尊。

機械系畢業後找了一份程式助理的工作,做了3年多雖然也是有寫到各式各樣的軟體、網頁、服務,但總感覺都還只是摸到表面,也都活在別人的框架底下,活生生的碼農。

做越久越感到自己的渺小,剛開始買了一本 Python 的書開始自幹,覺得自己學語法、套件很快,應該很好轉行,對自己充滿信心。但每有一個新開發,就發現自己又有不懂的基本概念,感覺都是本科高中大學就有的基礎,開始意識到自己的底打得有多不穩,可能等於沒打。

加加減減也摸了4~5個語言,對特定語言的鑽研也不深,最多就是了解且能運用各語言的語法糖,但要我說上這些語法糖的底層邏輯,或是自己復刻,都辦不太到。

閒暇時自己會去查一下每個語言的特色,優劣勢,但終歸就是背了個註釋。無法理解實際上的原理是什麼,像是 Python,我知道他的 multithreading 是假的,但他依然存在且被大量使用,表示在特定情境下對比 Single-threaded 還是有非常大的優勢,可我就是說不上來有哪些情境。

離職後面試了好幾家公司都沒上,消沉了一陣子,最近看到朋友轉職成功,又被打醒了,真該謝謝他。想了一下既然比拚主流沒有優勢,那我就轉跑道去學一些還不那麼主流的技術,增加自己的不同,也讓自己的眼界更開闊點,就從自己比較常看見的 Golang 開始好了。

什麼是 Golang

首先正名是 "Go","Golang" 就是「Go 語言」。
有了三年的經歷,學新的語言前我更想先知道:

  • 什麼類型的語言?
  • 為何存在?
  • 優劣勢?

於是我在 YT 上找到了 https://youtu.be/duYKBVFNKHo
給自己的筆記:

  • Google 支持的靜態編譯型語言
  • 充分利用現代高性能的網路與多核處理器的資源
  • 優勢:
    1. 語法清晰明確,易學習(高階語言哪個不是這樣講)
    2. 優秀的高併發性能
    3. 強大的標準庫
  • 劣勢:
    1. 實現 Memory Safety 的作法是 GC(Garbage Collection),所以速度上不如 C++/Rust 快

初步看幾乎沒有缺點,但一定是有很多問題要在充分使用 Go 開發後才會發現,現在去翻找也沒用。

開發環境

安裝

官網安裝 SDK

使用 CMD 驗證:

> go version
go version go1.26.1 windows/amd64

這邊我把 Go 安裝在 D 槽,但查看 go env 發現有些路徑還是指向 C 槽,緊張了一下,不過詢問 GPT 後看起來是 沒有大礙,重點是:

  1. GOROOT 指到 D 槽 ✔
  2. go version 正常 ✔
  3. 可以 go build / go run

IDE

本來想比照 Python 去使用 JetBrains 開發的專屬 IDE,但想想還是算了,就使用最主流的 VS Code 吧!

把 VS Code 一些插件安裝好,第一天就先這樣好了,頹廢了一陣子突然認真一小時就累了(真的好爛)...


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言